package com.inboyu.application;

import com.inboyu.application.request.GroupByStoreAndServiceTypeRequest;
import com.inboyu.application.response.FeeItemsResponse;
import com.inboyu.listing.domain.ServiceType;
import com.inboyu.listing.domain.StoreId;

/**
 * 费项应用编排
 */
public interface FeeItemApplicationSerivce {

    /**
     * 按【门店 + 服务类型】分组列出【费项】
     * 
     * @param storeId 门店ID
     * @return
     */
    StoreFeeItemGroupResponse findByStoreId(String storeId);

    /**
     * 列出【服务类型】
     * 
     * @return
     */
    ServiceTypeResponse serviceTypes();

    /**
     * 按服务类型查询【费项】
     * 
     * @param serviceType 服务类型编码
     * @return
     */
    FeeItemsResponse findFeeItemByServiceType(String serviceType);

    /**
     * 按【服务类型 + 费项】查询【收入类型】
     * 
     * @param serviceType 服务类型编码
     * @param feeItem     费项编码
     * @return
     */
    FeeItemResponse findincomeTypeByServiceTypeAndFeeItem(String serviceType, String feedItem);

}
